package com.story.spring;


import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @Retention是一个元注解，它指定了你的自定义注解的生命周期 (Retention Policy)，也就是它在什么时候可用。
 * @Target则是另一个元注解，它指定了你的注解可以用于什么地方。
 *          ElementType 也是一个枚举类型，它定义了注解可以作用的各种目标，常见的有TYPE：注解可以作用于类、接口、注解、枚举等类型
 *          ElementType.TYPE: 可以作用于类 (class)、接口 (interface)、枚举 (enum) 和注解 (annotation) 的声明上。
 *          ElementType.FIELD: 可以作用于字段 (field) 的声明上。
 *
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface ComponentScan {
    String value() default "";
}
